91 research outputs found

    Continuous Performance Benchmarking Framework for ROOT

    Get PDF
    Foundational software libraries such as ROOT are under intense pressure to avoid software regression, including performance regressions. Continuous performance benchmarking, as a part of continuous integration and other code quality testing, is an industry best-practice to understand how the performance of a software product evolves over time. We present a framework, built from industry best practices and tools, to help to understand ROOT code performance and monitor the efficiency of the code for a several processor architectures. It additionally allows historical performance measurements for ROOT I/O, vectorization and parallelization sub-systems.Comment: 8 pages, 5 figures, CHEP 2018 - 23rd International Conference on Computing in High Energy and Nuclear Physic

    Extending ROOT through Modules

    Get PDF
    The ROOT software framework is foundational for the HEP ecosystem, providing capabilities such as IO, a C++ interpreter, GUI, and math libraries. It uses object-oriented concepts and build-time components to layer between them. We believe additional layering formalisms will benefit ROOT and its users. We present the modularization strategy for ROOT which aims to formalize the description of existing source components, making available the dependencies and other metadata externally from the build system, and allow post-install additions of functionality in the runtime environment. components can then be grouped into packages, installable from external repositories to deliver post-install step of missing packages. This provides a mechanism for the wider software ecosystem to interact with a minimalistic install. Reducing intra-component dependencies improves maintainability and code hygiene. We believe helping maintain the smallest "base install" possible will help embedding use cases. The modularization effort draws inspiration from the Java, Python, and Swift ecosystems. Keeping aligned with the modern C++, this strategy relies on forthcoming features such as C++ modules. We hope formalizing the component layer will provide simpler ROOT installs, improve extensibility, and decrease the complexity of embedding in other ecosystemsComment: 8 pages, 2 figures, 1 listing, CHEP 2018 - 23rd International Conference on Computing in High Energy and Nuclear Physic

    First performance measurements with the Analysis Grand Challenge

    Full text link
    The IRIS-HEP Analysis Grand Challenge (AGC) is designed to be a realistic environment for investigating how analysis methods scale to the demands of the HL-LHC. The analysis task is based on publicly available Open Data and allows for comparing the usability and performance of different approaches and implementations. It includes all relevant workflow aspects from data delivery to statistical inference. The reference implementation for the AGC analysis task is heavily based on tools from the HEP Python ecosystem. It makes use of novel pieces of cyberinfrastructure and modern analysis facilities in order to address the data processing challenges of the HL-LHC. This contribution compares multiple different analysis implementations and studies their performance. Differences between the implementations include the use of multiple data delivery mechanisms and caching setups for the analysis facilities under investigation.Comment: Submitted as proceedings for 21st International Workshop on Advanced Computing and Analysis Techniques in Physics Research (ACAT 2022) to Journal Of Physics: Conference Serie

    Optimizing Frameworks Performance Using C++ Modules Aware ROOT

    Full text link
    ROOT is a data analysis framework broadly used in and outside of High Energy Physics (HEP). Since HEP software frameworks always strive for performance improvements, ROOT was extended with experimental support of runtime C++ Modules. C++ Modules are designed to improve the performance of C++ code parsing. C++ Modules offers a promising way to improve ROOT's runtime performance by saving the C++ header parsing time which happens during ROOT runtime. This paper presents the results and challenges of integrating C++ Modules into ROOT.Comment: 8 pages, 3 figures, 6 listing, CHEP 2018 - 23rd International Conference on Computing in High Energy and Nuclear Physic

    Automatic Differentiation in ROOT

    Get PDF
    In mathematics and computer algebra, automatic differentiation (AD) is a set of techniques to evaluate the derivative of a function specified by a computer program. AD exploits the fact that every computer program, no matter how complicated, executes a sequence of elementary arithmetic operations (addition, subtraction, multiplication, division, etc.), elementary functions (exp, log, sin, cos, etc.) and control flow statements. AD takes source code of a function as input and produces source code of the derived function. By applying the chain rule repeatedly to these operations, derivatives of arbitrary order can be computed automatically, accurately to working precision, and using at most a small constant factor more arithmetic operations than the original program. This paper presents AD techniques available in ROOT, supported by Cling, to produce derivatives of arbitrary C/C++ functions through implementing source code transformation and employing the chain rule of differential calculus in both forward mode and reverse mode. We explain its current integration for gradient computation in TFormula. We demonstrate the correctness and performance improvements in ROOT's fitting algorithms.Comment: Submitted as a proceeding for CHEP 201

    Coffea-casa: an analysis facility prototype

    Full text link
    Data analysis in HEP has often relied on batch systems and event loops; users are given a non-interactive interface to computing resources and consider data event-by-event. The "Coffea-casa" prototype analysis facility is an effort to provide users with alternate mechanisms to access computing resources and enable new programming paradigms. Instead of the command-line interface and asynchronous batch access, a notebook-based web interface and interactive computing is provided. Instead of writing event loops, the column-based Coffea library is used. In this paper, we describe the architectural components of the facility, the services offered to end-users, and how it integrates into a larger ecosystem for data access and authentication.Comment: Submitted as proceedings fo 25th International Conference on Computing in High-Energy and Nuclear Physics (https://indico.cern.ch/event/948465/

    The investigation of regional peculiarities of industrial waste generation and management processes

    Get PDF
    Здійснено структурний та динамічний аналіз утворення, накопичення й поводження з промисловими відходами в регіоні з аграрною спеціалізацією. Описано та проаналізовано структуру відходів за видами економічної діяльності, виявлено їх специфіку порівняно з аналогічною структурою по Україні та з галузевою структурою виробництва. Визначено внесок кожної галузі переробної промисловості як основного продуцента промислових відходів, у загальні обсяги їх утворення, а також матеріальну структуру цих відходів. Досліджено територіальний розріз формування й накопичення промислових відходів, що показав вкрай нерівномірний їх розподіл у межах області. З’ясовано, що існують суттєві територіальні відмінності між місцями їх утворення й місцями накопичення. Проведено групування районів області за обсягом утворення й обсягом накопичення промислових відходів на одиницю території. Галузевий розріз по районах показав, що 88% відходів переробної промисловості утворюється в трьох районах області, а 99% обсягів їх накопичення зосереджені у двох районах. Аналіз динаміки процесів поводження з промисловими відходами в регіоні продемонстрував позитивні тенденції щодо їх утилізації. Проте на фоні зниження обсягів утворення обсяги їх накопичення продовжують зростати, оскільки за утилізації 32% видаляється у спеціально відведені місця 65%. У загальному підсумку стан поводження з промисловими відходами визнано задовільним, проте закцентовано увагу на специфіці регіону й проблемних питаннях, що тут існують. Основними проблемами на сьогодні залишаються: відсутність чіткого нормативно закріпленого визначення поняття «промислові відходи», що ускладнює збір та упорядкування інформації про них, неповнота вказаної інформації, суттєва територіальна асиметрія в утворенні й накопиченні промислових відходів, низький рівень їх утилізації, відсталі й застарілі технології виробництва та поводження з відходами. Екологізація виробництва має стати основною умовою вирішення проблеми поводження з промисловими відходами та перспективним трендом розвитку на майбутнєStructure and dynamics of industrial waste generation, accumulation and management in agrarian region are analyzed. The structure of wastes according to the types of economic activity is described and analyzed. Their peculiarities in comparison with the similar Ukrainian structure and sector production structure is revealed. The contribution of each sector of the processing industry, as the main producer of industrial wastes, to the total volumes of their generation, as well as the material structure of such wastes is determined. The spatial cross-section of industrial wastes generation and accumulation is investigated. It showed a very uneven distribution within the region and significant territorial differences between the places of their generation and the places of accumulation. The regional districts are grouped by volume of production and volume of industrial waste accumulation per unit of territory. The sector cross-sections in districts showed that 88% of processing waste is generated in three region districts, and 99% of their accumulation are concentrated in two districts. Analysis of the dynamics of industrial waste management processes in the region revealed positive trends in their utilization. However, on the background of the decline in their generation volume, their accumulation volumes are still increasing as 32% of waste are utilized and 65% is disposed in designated areas. In general, the state of industrial waste management is considered satisfactory, but great attention is paid to the region peculiarities and the problems existing here. The main problems today are: the lack of clear regulatory definition of the concept «industrial wastes», which complicates the collection and ordering of information about them, incompleteness of the specified information, significant spatial asymmetry in industrial wastes generation and accumulation, low level of their utilization, old and obsolete production and waste management technologies. Greening of production should become the main condition for solving the problem of industrial waste management and the promising development trend for the future
    corecore